home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 34.zip / BS1 part 34 / GFA basic training.adf / Copper / USER_COPPER80.LST < prev   
File List  |  1989-06-01  |  3KB  |  140 lines

  1. ' User-Copper  II
  2. '
  3. @usercop_laenge
  4. @memory_copperbereit
  5. @user_copper_an
  6. '
  7. REPEAT
  8.   PRINT "Bunt nicht?",
  9. UNTIL MOUSEK
  10. '
  11. @user_copper_aus
  12. EDIT
  13. '
  14. > PROCEDURE datas
  15.   DATA $0180,$0000
  16.   DATA $7701,$fffe
  17.   DATA $0180,$0f00
  18.   DATA $7801,$fffe
  19.   DATA $0180,$0f10
  20.   DATA $7901,$fffe
  21.   DATA $0180,$0f20
  22.   DATA $7a01,$fffe
  23.   DATA $0180,$0f40
  24.   DATA $7b01,$fffe
  25.   DATA $0180,$0f60
  26.   DATA $7c01,$fffe
  27.   DATA $0180,$0f70
  28.   DATA $7d01,$fffe
  29.   DATA $0180,$0f80
  30.   DATA $7e01,$fffe
  31.   DATA $0180,$0f90
  32.   DATA $7f01,$fffe
  33.   DATA $0180,$0fa0
  34.   DATA $8001,$fffe
  35.   DATA $0180,$0fb0
  36.   DATA $8101,$fffe
  37.   DATA $0180,$0fc0
  38.   DATA $8201,$fffe
  39.   DATA $0180,$0fd0
  40.   DATA $8301,$fffe
  41.   DATA $0180,$0fe0
  42.   DATA $8401,$fffe
  43.   DATA $0180,$0ff0
  44.   DATA $8501,$fffe
  45.   DATA $0180,$0ff1
  46.   DATA $8601,$fffe
  47.   DATA $0180,$0ff2
  48.   DATA $8701,$fffe
  49.   DATA $0180,$0ff3
  50.   DATA $8801,$fffe
  51.   DATA $0180,$0ff4
  52.   DATA $8901,$fffe
  53.   DATA $0180,$0ff5
  54.   DATA $8a01,$fffe
  55.   DATA $0180,$0ef5
  56.   DATA $8b01,$fffe
  57.   DATA $0180,$0df5
  58.   DATA $8c01,$fffe
  59.   DATA $0180,$0cf5
  60.   DATA $8d01,$fffe
  61.   DATA $0180,$0bf4
  62.   DATA $8e01,$fffe
  63.   DATA $0180,$0af3
  64.   DATA $8f01,$fffe
  65.   DATA $0180,$09f2
  66.   DATA $9001,$fffe
  67.   DATA $0180,$08f1
  68.   DATA $9101,$fffe
  69.   DATA $0180,$07f2
  70.   DATA $9201,$fffe
  71.   DATA $0180,$06e3
  72.   DATA $9301,$fffe
  73.   DATA $0180,$06d3
  74.   DATA $9401,$fffe
  75.   DATA $0180,$06c3
  76.   DATA $9501,$fffe
  77.   DATA $0180,$06b3
  78.   DATA $9601,$fffe
  79.   DATA $0180,$06a3
  80.   DATA $9801,$fffe
  81.   DATA $0180,$0693
  82.   DATA $9901,$fffe
  83.   DATA $0180,$0683
  84.   DATA $9a01,$fffe
  85.   DATA $0180,$0673
  86.   DATA $9b01,$fffe
  87.   DATA $0180,$0664
  88.   DATA $9c01,$fffe
  89.   DATA $0180,$0655
  90.   DATA $9d01,$fffe
  91.   DATA $0180,$0555
  92.   DATA $9e01,$fffe
  93.   DATA $0180,$0546
  94.   DATA $9f01,$fffe
  95.   DATA $0180,$0
  96.   DATA $ffff
  97. RETURN
  98. > PROCEDURE usercop_laenge
  99.   DO
  100.     READ x%
  101.     EXIT IF x%=&HFFFF
  102.     INC anz&    ! Anz Worte
  103.   LOOP
  104.   MUL anz&,2    ! Anz Bytes
  105.   RESTORE
  106. RETURN
  107. > PROCEDURE memory_copperbereit
  108.   altcop%=LPEEK(_GfxBase+50)   ! Copper-Auto-Vector relativ zu GFXBASE retten
  109.   mem&=76+anz&
  110.   u_copadr%=MALLOC(mem&,2)
  111.   neu_copadr%=u_copadr%
  112.   startcop%=altcop%+84
  113.   ' Startliste des Systems Kopieren
  114.   BMOVE startcop%,neu_copadr%,60
  115.   ' Unsere Liste
  116.   CLR zeiger&,x%
  117.   RESTORE
  118.   ' Unsern Adress zeiger erhoehen
  119.   ADD neu_copadr%,60
  120.   DO
  121.     READ x%
  122.     EXIT IF x%=&HFFFF
  123.     DPOKE neu_copadr%+zeiger&,x%
  124.     ADD zeiger&,2
  125.   LOOP
  126.   ' End Liste des Systems Kopieren
  127.   ADD startcop%,60
  128.   ADD neu_copadr%,anz&
  129.   BMOVE startcop%,neu_copadr%,16
  130. RETURN
  131. > PROCEDURE user_copper_an
  132.   VSYNC
  133.   LONG{_GfxBase+50}=(u_copadr%)
  134. RETURN
  135. > PROCEDURE user_copper_aus
  136.   VSYNC
  137.   LONG{_GfxBase+50}=(altcop%)  ! Alten Vector zurueck
  138.   x%=MFREE(u_copadr%,mem&)
  139. RETURN
  140.